With the advent of distributed computing environments, such as the Internet and intranets, it has become common practice to store various electronic files, such as word processing documents, spreadsheet documents, slide presentation documents, database files, and the like, on a server to which many users may obtain access for using stored files. Server systems have been developed that allow for collaborative working environments where various users may work on a given file or files as a team. Under such systems, a given user may “check out” a document for making edits to the document. While the document is checked out by the editing user, other users are notified that the document is checked out and the other users are prohibited from editing the document until the first user checks the document back into the server. Thus, conflicting edits to the document are prevented.
According to prior systems, a checked out document remains on the server while being edited. That is, the editing user may not check out the document to her local computer for editing the document during an offline session. In order to edit the document in an offline session, the user must copy the document to the local computer, make desired edits, and then manually save the edited document back to the server. Unfortunately, manually saving the edited document to the server requires the user to ensure that changes made to the document during the offline session do not conflict with changes made to the server copy during the offline session. Moreover, the document manually saved to the server by the editing user will bear a different version than the version previously saved to the server which may have been edited by others during the offline session. Such a process greatly decreases, if not eliminates altogether, the benefits of the collaborative working environment.
It is with respect to these and other considerations that the present invention has been made.